iT邦幫忙

2019 iT 邦幫忙鐵人賽

0
自我挑戰組

30日Linux學習系列 第 10

Linux 多重指令

  • 分享至 

  • xImage
  •  

參考來源:
https://www.guru99.com/linux-pipe-grep.html

一次輸入執行命令,而不想要分次執行命令時,該如何?有兩個選擇,一個是透過shell script撰寫腳本去執行,一種則是透過一些符號(|、||、&&、;)來分隔多種指令

1.不考慮指令相關性的連續指令下達(指令;指令;指令)
https://ithelp.ithome.com.tw/upload/images/20181222/20112174DyaGvcqe00.png

2.Pipe:
是Linux中的一個命令,它允許您使用兩個或多個命令,以便一個命令的輸出作為下一個命令的輸入。簡而言之,每個進程的輸出直接作為輸入到下一個像管道一樣。符號'|' 表示管道。
管道可幫助您同時混合兩個或多個命令並連續運行它們。您可以使用功能強大的命令,可以快速執行複雜的任務。
讓我們用一個例子來理解這一點。
當您使用'cat'命令查看跨越多個頁面的文件時,提示會快速跳轉到文件的最後一頁,而您在中間看不到內容。
為避免這種情況,您可以將'cat'命令的輸出傳遞給'less',這樣一次只能顯示一個滾動長度的內容。
如圖所示:
https://ithelp.ithome.com.tw/upload/images/20181222/20112174sunU8j1rc3.png

3.grep:
假設您要從文本文件中搜索特定信息的字。

您可以自己手動瀏覽內容以跟踪信息。更好的選擇是使用grep命令。它將掃描文檔以獲取所需信息,並以想要的格式顯示結果。

句法:
grep search_string
例:
https://ithelp.ithome.com.tw/upload/images/20181222/20112174zugk20kfpv.png
在這裡,grep命令搜索文件'sample',字符串'Apple'和'Eat'。

4.sort:
此命令有助於按字母順序排序文件的內容。
語法是:sort 檔案名
如下圖
https://ithelp.ithome.com.tw/upload/images/20181222/20112174oggztQyuQH.png
此命令也有擴展,下面列出。
-r:反向排序
-n:按數字排序
-F:不區分大小寫的排序
如圖是反向排序
https://ithelp.ithome.com.tw/upload/images/20181222/20112174hwpwQwYycc.png

5.filter:
Linux有很多過濾命令,如awk,grep,sed,spell和wc。過濾器從一個命令獲取輸入,進行一些處理,並給出輸出。
當您管道兩個命令時,第一個命令的“過濾”輸出將被賦予下一個命令。
如圖:
https://ithelp.ithome.com.tw/upload/images/20181222/201121740JSZ71Zn1C.png
第一個指令是動物,第二個指令是國內(就變成國內的動物),第三個指令是小(就會變成國內的小動物)

讓我們藉助一個例子來理解這一點。

我們有以下文件'sample'
https://ithelp.ithome.com.tw/upload/images/20181222/20112174VaVUaPtytl.png

我們只想顯示不包含字符'a'的行,但結果應該是相反的順序。
為此,可以使用以下語法。
cat sample | grep -v a | sort - r
結果如下:
https://ithelp.ithome.com.tw/upload/images/20181222/20112174f0NyURVLdR.png
之後來學正則表達式。


上一篇
Linux 重導向
下一篇
Linux 環境變量列表
系列文
30日Linux學習30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言